@import "[default].parameters.css";
@import "[default].typography.css";


/* Hero */
.hero-service {
    display: flex;
    gap: var(--display-stacks-xs);
    align-items: baseline;
    font-size: var(--text-body-large) !important;
    line-height: var(--font-line-height-large) !important;
    font-weight: var(--font-weight-bold) !important;
    color: var(--color-text-muted) !important;
    text-decoration: none;
}

    .hero-service i::before {
        font-size: var(--size-18px);
    }

    .hero-service span {
        text-decoration: underline;
        text-decoration-style: solid;
    }


/* Badges */
.badge {
    font-size: var(--text-body-mini);
    font-weight: var(--font-weight-regular);
    line-height: var(--font-line-height-mini);
    padding: var(--display-insets-sm) var(--display-insets-md);
    border: none;
    border-radius: var(--display-corner-radius-sm);
}

    .badge p {
        margin: 0;
    }

    .badge b, .badge strong {
        font-weight: var(--font-weight-bold);
    }

.badge-large {
    font-size: var(--text-body-base) !important;
    font-weight: var(--font-weight-bold) !important;
    line-height: var(--font-line-height-base) !important;
}

.badge-secondary {
    background-color: var(--color-background-secondary);
    color: var(--color-text-base);
    text-decoration-color: var(--color-text-base);
}

.badge-mandatory {
    background-color: var(--color-background-mandatory);
    color: var(--color-text-base);
    font-weight: bold;
}

.badge-voluntary {
    background-color: var(--color-background-voluntary);
    color: var(--color-text-base);
    font-weight: bold;
}

.badge-light {
    background-color: var(--color-background-subtle);
    color: var(--color-text-base);
}

.badge-help {
    cursor: help !important;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-color: var(--color-text-base);
    text-underline-offset: var(--text-underline-offset-dotted);
    text-underline-position: from-font;
}

.popover {
    font-family: var(--font-family-body);
    --popover-font-size: var(--text-body-small);
    --popover-body-color: var(--color-text-base);
}




/* Card */
.custom-card-row-padding {
    padding: var(--card-padding-y) 0;
}

.custom-card {
    background-color: var(--color-background-surface-c);
    color: var(--color-text-inverse) !important;
    border-radius: var(--display-corner-radius-sm);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: var(--display-stacks-xs);
    padding: var(--card-padding-y) var(--card-padding-x);
    height: 100%;
}

    .custom-card span {
        margin: 0;
        text-align: center !important;
    }

/* Box with left border */
.box-left-border {
    height: 100%;
    border-left: 5px solid var(--color-background-surface-a);
    padding: var(--display-insets-xs) 0 var(--display-insets-xs) 0; /*left: var(--display-stacks-md)*/
}

    .box-left-border span p {
        margin: 0;
    }


/* Banner bg video */
.banner-bg-video {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

    .banner-bg-video > img {
        display: block;
    }

    .banner-bg-video > video {
        display: none;
    }

@media screen and (min-width: 992px) {
    .banner-bg-video > img {
        display: none;
    }

    .banner-bg-video > video {
        display: block;
    }
}

.banner-bg-video > video, .banner-bg-video > img {
    position: absolute;
    z-index: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}

.banner-bg-video .banner-bg-video-content {
    position: static;
    z-index: 1;
    padding-top: var(--display-stacks-xl);
    padding-bottom: var(--display-stacks-xl);
}

    .banner-bg-video .banner-bg-video-content > * {
        background-color: var(--color-white-50);
        border-radius: var(--display-corner-radius-md);
        padding: var(--display-insets-lg);
    }

@media screen and (min-width: 992px) {
    .banner-bg-video {
        flex-direction: row;
        justify-content: start;
    }
}

@media screen and (min-width: 992px) {
    .banner-bg-video {
        flex-direction: row;
        justify-content: start;
    }
}

@media screen and (min-width: 1200px) { /*xl*/
    .banner-bg-video .banner-bg-video-content > * {
        background-color: transparent;
        border-radius: 0;
        padding: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .banner-bg-video > video {
        display: none !important;
    }

    .banner-bg-video > img {
        display: block !important;
    }
}



/* Banner brand */
.banner-brand {
    background-color: var(--color-background-brand);
    padding: var(--banner-padding-y) var(--banner-padding-x);
}

    .banner-brand h2, .banner-brand p {
        margin: 0 !important;
    }

/* Banner ADDESTRA */
.banner-addestra {
    background-color: var(--color-background-subtle);
    padding: var(--banner-padding-y) 0;
}

    .banner-addestra h2, .banner-addestra p {
        margin: 0 !important;
    }


/* Banner people */
.banner-people {
    background-color: var(--color-background-surface-a);
    padding: var(--banner-padding-y) var(--banner-padding-x);
}

.banner-people-flex {
    display: flex;
    flex-direction: column;
    gap: var(--display-stacks-2xl);
}

.banner-people h2, .banner-people h3, .banner-people p {
    margin: 0;
}

.banner-people i {
    color: var(--color-brand-primary);
    font-size: var(--size-80px);
}

.banner-people-card {
    display: flex;
    flex-direction: column;
    gap: var(--display-stacks-sm);
}

.icon-people-card {
    color: var(--color-brand-primary);
    font-size: var(--size-80px);
}



/* Banner white content box bg image */
.banner-white-box-bg-image-content {
    background-color: var(--color-background-default);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--display-stacks-xs);
    padding: var(--display-insets-xl) var(--display-insets-2xl);
}

    .banner-white-box-bg-image-content h2, .banner-white-box-bg-image-content p {
        margin: 0 !important;
    }

@media screen and (min-width: 992px) {
    .banner-white-box-bg-image-content {
        padding: var(--display-insets-xl);
    }
}


/* Banner last news */
.last-news img {
    border-radius: var(--display-corner-radius-sm);
}

.last-news p, .last-news a {
    margin-bottom: 0;
}

.last-news .first-news-img {
    max-width: 100%;
}

.last-news .other-news-img {
    /*max-width: 260px;
    aspect-ratio: 65/43;*/
}

@media screen and (min-width: 992px) {
    .last-news .other-news-img {
        border-radius: var(--display-corner-radius-sm);
    }

    .last-news .first-news-img {
    }
}


/* Banner national presence */
.banner-national-presence {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--display-stacks-md);
}

    .banner-national-presence > img {
        width: 100%;
    }

@media screen and (min-width: 992px) {
    .banner-national-presence {
        flex-direction: row;
        gap: var(--display-stacks-xl);
    }

        .banner-national-presence > img {
            width: 50%;
        }
}

/* Banner ambiti - suggested services groups */
.banner-services-groups {
    display: flex;
    flex-direction: column;
    gap: var(--display-insets-xl);
}

    .banner-services-groups * {
        margin: 0;
    }

    .banner-services-groups .banner-group-item {
        display: flex;
        justify-content: start;
        align-items: center;
        gap: var(--display-stacks-sm);
    }

        .banner-services-groups .banner-group-item img {
            height: 6.25rem; /*100px*/
            width: 6.25rem; /*100px*/
            object-fit: cover;
            border-radius: var(--display-corner-radius-sm);
        }

@media screen and (min-width: 992px) {
    .banner-services-groups .banner-group-item {
        align-items: start;
        gap: var(--display-stacks-sm);
    }

        .banner-services-groups .banner-group-item.w-lg-50 {
            width: 48%;
        }

        .banner-services-groups .banner-group-item.w-lg-30 {
            width: 30%;
        }
}



/* Quote */
.quote img {
    width: 70%;
}

.quote hr {
    height: 5px;
    margin: 0;
}

.quote p {
    margin: 0;
}

.quote-text {
    font-style: italic;
    font-size: var(--size-28px);
    font-weight: var(--font-weight-regular);
    line-height: var(--font-line-height-quote);
}

.quote-name {
    font-size: var(--text-body-large);
    font-weight: var(--font-weight-bold);
}

@media screen and (min-width: 576px) {
    .quote img {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .quote img {
        width: 40%;
    }
}

@media screen and (min-width: 992px) {
    .quote img {
        width: 100%;
    }
}


/* Timeline */
.timeline-event {
    flex-wrap: nowrap;
}

    .timeline-event .timeline-event-year {
        margin-top: -0.33rem;
        margin-bottom: 0;
    }

    .timeline-event .timeline-event-title {
        margin-top: 0;
        margin-bottom: 0;
    }

    .timeline-event .timeline-event-line {
        padding: 0;
        width: var(--size-32px);
        height: 100%;
    }

        .timeline-event .timeline-event-line i {
            color: var(--color-brand-primary);
            font-size: var(--size-32px);
            width: fit-content;
        }

        .timeline-event .timeline-event-line hr.vr {
            height: 100%;
            width: var(--size-1px);
            opacity: 1 !important;
            margin: 0 0 0 0.969rem; /*15.5px*/
            color: var(--color-border-default);
        }

@media screen and (min-width: 992px) {
    .timeline-event .timeline-event-lg-year {
        text-align: right;
        margin-top: -0.75rem;
    }

    .timeline-event .timeline-event-title {
        margin-top: -0.75rem;
    }
}


/* Accordion FAQ */
#accordionFAQ .accordion-button {
    font-style: italic;
    text-decoration: none;
}


/* Gallery carousel */
.gallery {
    position: relative;
}

    .gallery .swiper {
        width: 100%;
    }

    .gallery .swiper-slide {
    }

        .gallery .swiper-slide img {
            margin-bottom: 8px;
            border-radius: var(--display-corner-radius-md);
        }

    .gallery .swiper-pagination {
        position: absolute;
        bottom: -32px !important;
    }

        .gallery .swiper-pagination .swiper-pagination-bullet-active {
            background-color: var(--color-background-brand);
        }

    .gallery .swiper-button-next,
    .gallery .swiper-button-prev {
        padding: 8px;
        background-color: rgba(255, 255, 255, .5);
        border-radius: 8px;
    }

        .gallery .swiper-button-next:hover,
        .gallery .swiper-button-prev:hover {
            background-color: rgba(255, 255, 255, .75);
        }


/* Related Pages */
.related-page {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--display-stacks-sm);
    height: 100%;
    border-radius: var(--display-corner-radius-md);
    padding: var(--display-stacks-sm) var(--display-stacks-lg);
}

    .related-page p {
        margin-bottom: 0 !important;
    }


/* Recall */
.recall .row {
    border-radius: var(--display-corner-radius-sm);
    background-color: var(--color-background-surface-b);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--display-stacks-md);
    padding: var(--display-stacks-lg);
}

    .recall .row img {
        width: 6.25rem; /*100px*/
        height: 6.25rem; /*100px*/
        aspect-ratio: 1/1;
    }

    .recall .row .col1,
    .recall .row .col2,
    .recall .row .col3 {
        width: auto;
    }

@media screen and (min-width: 992px) {
    .recall .row {
        flex-direction: row;
        justify-content: space-evenly;
        gap: var(--display-stacks-md);
        padding: var(--display-stacks-lg);
    }
}

/* Offered Services */
.offered-services {
    background-color: var(--color-background-subtle);
    border-radius: var(--display-corner-radius-sm);
    display: flex;
    flex-direction: column;
    gap: var(--display-stacks-sm);
    height: 100%;
    padding: var(--card-padding-y) var(--card-padding-x);
}

    .offered-services > * {
        margin: 0;
    }

.modal-content {
    padding: var(--display-insets-xl);
}

@media screen and (min-width: 992px) {
    .offered-services {
        margin-bottom: 0;
    }
}



/* Aside */
.container-border-right {
    border-right: none !important;
}

aside {
    order: -1;
    padding-left: var(--display-stacks-md) !important;
    padding-right: var(--display-stacks-md) !important;
    margin-bottom: var(--display-stacks-xl);
}

    aside hr {
        width: 75%;
        border-top: 3px dashed var(--color-border-default);
        background-color: transparent;
        margin: var(--display-stacks-2xl) 0;
    }

    aside h2, aside p {
        margin: 0 !important;
    }

    aside li {
        display: flex;
        justify-content: start;
        align-items: center;
        gap: var(--display-insets-xs);
    }

    aside img {
        width: 1rem;
        height: 1rem;
        margin-right: var(--display-insets-md);
    }

.btn-index {
    border: 1px solid var(--color-border-default);
    border-radius: var(--display-corner-radius-xs);
    background-color: var(--color-white) !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .btn-index span {
        color: var(--color-text-muted) !important;
        font-weight: var(--font-weight-light);
        text-decoration-line: none;
    }

    .btn-index:focus {
        color: var(--color-text-base);
        border-color: var(--color-border-focus);
    }

    .btn-index img {
        width: 1.25rem;
        height: 1.438rem;
        margin: 0;
    }

#index-nav {
    border: 1px solid var(--color-border-darken);
    border-radius: var(--display-corner-radius-xs);
    background-color: var(--color-background-subtle);
    padding: var(--display-insets-md);
    margin-top: var(--display-stacks-2xs);
}

    #index-nav ul {
        margin-bottom: 0;
    }

    #index-nav li {
        border-left: 0.25rem solid var(--color-border-default);
        padding-left: var(--display-stacks-xs);
    }

        #index-nav li.selected {
            border-color: var(--color-text-accent) !important;
        }

    #index-nav a {
        color: var(--color-text-muted) !important;
        text-decoration-color: var(--color-text-muted) !important;
    }

        #index-nav a:hover, #index-nav a.hover,
        #index-nav a:focus, #index-nav a.focus {
            color: var(--color-text-base) !important;
            text-decoration-color: var(--color-text-base) !important;
        }

.share-on-socials {
    display: flex;
    flex-direction: column;
    gap: var(--display-stacks-xs);
}

    .share-on-socials a, .share-on-socials button {
        background-color: var(--color-background-inverse);
        width: 2.188rem; /* 35px */
        height: 2.188rem; /* 35px */
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration-line: none;
    }

        .share-on-socials a i, .share-on-socials button i {
            color: var(--color-text-inverse);
            font-size: var(--text-body-huge);
        }

        .share-on-socials a:hover, .share-on-socials a.hover,
        .share-on-socials a:focus, .share-on-socials a.focus
        .share-on-socials button:hover, .share-on-socials button.hover,
        .share-on-socials button:focus, .share-on-socials button.focus {
            background-color: var(--color-background-button-light-hover);
        }

            .share-on-socials a:hover i, .share-on-socials a.hover i,
            .share-on-socials a:focus i, .share-on-socials a.focus i
            .share-on-socials button:hover i, .share-on-socials button.hover i,
            .share-on-socials button:focus i, .share-on-socials button.focus i {
                /*color: var(--color-text-muted);*/
                color: var(--color-text-base);
            }

@media screen and (min-width: 992px) {
    .container-border-right {
        border-right: 1px solid var(--color-border-default) !important;
    }

        .container-border-right.container-news-image {
            padding-left: var(--display-insets-xs);
            padding-right: calc(2rem + var(--display-insets-xs));
        }

    aside {
        order: 1;
        padding-top: var(--display-stacks-sm);
        position: sticky;
        top: var(--display-stacks-md);
        align-self: start;
    }

    .aside-content {
        padding-left: var(--display-insets-sm) !important;
    }

    .btn-index {
        display: none;
    }

    #index-nav {
        display: block !important;
        background-color: inherit;
        border: none;
        padding-left: 0;
    }

        #index-nav a {
            color: var(--color-text-accent) !important;
            text-decoration-color: var(--color-text-accent) !important;
        }

            #index-nav a:hover, #index-nav a.hover,
            #index-nav a:focus, #index-nav a.focus {
                color: var(--color-text-muted) !important;
                text-decoration-color: var(--color-text-muted) !important;
            }
}


/* Help */
.help-section {
    padding: var(--display-insets-xl) 0;
}

    .help-section form {
        width: 100%;
    }

    .help-section input {
        border: 1px solid var(--color-border-default);
        border-radius: 0px;
        padding: var(--display-insets-xs);
    }

    .help-section a:not(.btn) {
        font-family: "CeraPro", sans-serif;
        color: var(--color-text-base) !important;
        text-decoration-color: var(--color-text-base) !important;
        text-align: center;
        padding: var(--button-padding-y) var(--button-padding-x) !important;
    }

        .help-section a:not(.btn):hover, .help-section a:not(.btn).hover,
        .help-section a:not(.btn):focus, .help-section a:not(.btn).focus {
            color: var(--color-text-muted) !important;
            text-decoration-color: var(--color-text-muted) !important;
        }

@media screen and (min-width: 992px) {
    .help-section {
        padding: var(--display-insets-3xl) var(--display-insets-lg);
    }

        .help-section form {
            width: 50%;
        }
}


/* Search results */
.badge-searchresult {
    padding: .2rem .6rem;
    background-color: #f2f2f2;
    color: black;
}

.form-search {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 0;
}